Controller interface with interview programming

ABSTRACT

A controller and a method of programming a schedule of a controller having a user interface, the schedule having a number of schedule parameters, the method including the steps of: providing one or more interview questions to a user via the user interface; accepting one or more user responses to the one or more interview questions from the user via the user interface; and modifying one or more of the schedule parameters based on the user responses provided by the user interface.

FIELD OF THE INVENTION

The present invention relates generally to the field of programmable controllers for homes and/or buildings are their related grounds. More specifically, the present invention relates to simplified interfaces for such controllers having interview programming capabilities.

BACKGROUND OF THE INVENTION

Controllers are used on a wide variety of devices and systems for controlling various functions in homes and/or buildings and their related grounds. Some controllers have schedule programming that modifies device parameter set points as a function of date and/or time. Some such device or system controllers that utilize schedule programming for controlling various functions in homes and/or buildings and their related grounds include, for example, HVAC controllers, water heater controllers, water softener controllers, security system controllers, lawn sprinkler controllers, and lighting system controllers.

HVAC controllers, for example, are employed to monitor and, if necessary, control various environmental conditions within a home, office, or other enclosed space. Such devices are useful, for example, in regulating any number of environmental conditions with a particular space including for example, temperature, humidity, venting, air quality, etc. The controller may include a microprocessor that interacts with other components in the system. For example, in many modem thermostats for use in the home, a controller unit equipped with temperature and humidity sensing capabilities may be provided to interact with a heater, blower, flue vent, air compressor, humidifier and/or other components, to control the temperature and humidity levels at various locations within the home. A sensor located within the controller unit and/or one or more remote sensors may be employed to sense when the temperature or humidity reaches a certain threshold level, causing the controller unit to send a signal to activate or deactivate one or more component in the system.

The controller may be equipped with an interface that allows the user to monitor and adjust the environmental conditions at one or more locations within the building. With more modem designs, the interface typically includes a liquid crystal display (LCD) panel inset within a housing that contains the microprocessor as well as other components of the controller. In some designs, the interface may permit the user to program the controller to activate on a certain schedule determined by the user. For example, the interface may include a separate menu routine that permits the user to change the temperature at one or more times during a particular day. Once the settings for that day have been programmed, the user can then repeat the process to change the settings for the other remaining days.

With more modem designs, the programmable controller may include a feature that allows the user to set a separate schedule for weekday and weekend use, or to copy the settings for a particular day and then apply them towards other selected days of the week. While these designs allow the user to copy settings from one day to another, a number of steps are often required to establish a program, adding to the complexity of the interface. In some cases, the interface may not permit the user to select multiple days outside of the normal weekday/weekend scheme. In other cases, the interface is simply too complex to be conveniently used to program a temperature scheme and is simply by-passed or not programmed by the user. Accordingly, there is an ongoing need in the art to decrease the time and complexity associated with programming a multi-day schedule in a programmable controller.

SUMMARY OF THE INVENTION

Generally, the present invention pertains to simplified interfaces for controllers having interview programming capabilities.

In one illustrative embodiment, a method of programming a schedule of a controller having a user interface is described. The illustrative method includes the steps of providing one or more interview questions to a user via the user interface; accepting one or more user responses to the one or more interview questions from the user via the user interface; and creating and/or modifying or building a schedule based on the user responses.

The above summary of the present invention is not intended to describe each disclosed embodiment or every implementation of the present invention. The Figures, Detailed Description and Examples which follow more particularly exemplify these embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may be more completely understood in consideration of the following detailed description of various embodiments of the invention in connection with the accompanying drawings, in which:

FIG. 1 is a flow diagram of an illustrative HVAC interview program;

FIG. 2 is a block diagram of the illustrative HVAC interview program shown in FIG. 1;

FIG. 3 is a flow diagram of another illustrative HVAC interview program;

FIG. 4A is a block diagram of the illustrative HVAC interview program shown in FIG. 3;

FIG. 4B is an illustrative partial block diagram of the block diagram shown in FIG. 4A;

FIG. 5 is a flow diagram of another illustrative HVAC interview program;

FIG. 6 is a block diagram of the illustrative HVAC interview program shown in FIG. 5;

FIGS. 7A-C are flow diagrams of another illustrative HVAC interview program; and

FIGS. 8A-T are schematic drawings of an illustrative HVAC interface showing an embodiment of the flow diagram of the illustrative HVAC interview program shown in FIG. 7.

While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The following description should be read with reference to the drawings, in which like elements in different drawings are numbered in like fashion. The drawings, which are not necessarily to scale, depict selected embodiments and are not intended to limit the scope of the invention. Although examples of construction, dimensions, and materials are illustrated for the various elements, those skilled in the art will recognize that many of the examples provided have suitable alternatives that may be utilized.

Generally, the present invention pertains to simplified interfaces for controllers having interview programming capabilities. These controllers can be used in a variety of systems such as, for example, HVAC systems, water heater systems, water softener systems, sprinkler systems, security systems, lighting systems, and the like. The Figures depict HVAC controllers. While the present invention is not so limited, an appreciation of various aspects of the invention will be gained through a discussion of the examples provided below.

FIG. 1 is a flow diagram of an illustrative HVAC interview program 100. The flow diagram starts at a normal thermostat operation block 110. Normal thermostat operation block 110 can be an initial parameter setting operation or a modification of parameter settings. Interview scheduling block 120, 130 provides one or more interview questions to a user via the user interface. The user interface can accept one or more responses to the one or more interview questions from the user via the user interface. The schedule is then built or modified, in some cases by adding or modifying one or more schedule parameters 140, 150, based on the user responses provided via the user interface. Once the schedule parameters 140, 150 are modified, the controller can return to the normal operation block 110, and follow the new schedule.

In some embodiments, the interview scheduling blocks 120 and 130 can provide interview questions that elicit an affirmative (e.g., “yes”) or negative (e.g., “no”) user response. Alternatively, or in addition, the interview scheduling blocks 120, and 130 can provide include interview questions that allow a user to select one (or more) answers from a predetermined list of answers.

In some embodiments, these interview questions can solicit information from the user regarding the grouping of the controller set points entered or the temporal relationship of the controller set points such as, for example, the interview question may ask “Do you want the schedule to apply to every day of the week?”, requiring the user to respond with a “YES” or “NO” answer. The interview scheduling block 120 preferably includes questions that are natural language questions, which may be phrases that have one, two, three, four, five, six, or seven or more words, although this is not required in all embodiments.

Alternatively, or in addition, interview scheduling block 130 can provide interview questions that require a numerical user response. For example, these interview questions can solicit information from the user regarding the specific time and temperature set points for each grouping of controller set points solicited by the interview block 120 described above. Interview block 130 can provide a question such as, for example, “What is a comfortable sleeping temperature in the winter?”, requiring the user to respond with a numerical temperature answer. Like interview schedule block 120 above, interview scheduling block 130 can include questions that are natural language questions, which may be phrases that have one, two, three, four, five, six, or seven or more words, although this is not required in all embodiments.

The interview scheduling blocks 120 and 130 can provide one or more interview questions about, for example, which weekdays will have the same schedule?, when a first person wakes up?, when a last person goes to sleep?, when a last person leaves during the day?, when a first person arrives home?, what a comfortable temperature is when heat is on?, what a comfortable temperature is when air conditioning is on?, what a comfortable sleeping temperature is in summer?, and/or what a comfortable sleeping temperature is in winter?

Alternatively, or in addition, the interview scheduling blocks 120 and 130 may provide one or more interview questions that provide a plurality of predetermined answers or responses (e.g., multiple choice format) where the user selects an answer or response. For example, the interview question may provide a question such as, “What type of schedule do you desire?” In this illustrative embodiment, a series of predetermined responses or answers can be provided such as, “Every day of the week is the same,” “Weekdays are the same and Saturday/Sunday is the same,” “Weekday are the same and Saturday/Sunday is different,” “Each Weekday is different and Saturday/Sunday is the same,” and “Each day of the week is different.”

Alternatively, or in addition, once an initial schedule has been built, the interview scheduling blocks 120, and 130 can display a previous answer that was accepted by the user interface based on the prior built schedule. This illustrative feature can provide the user with a convenient option to select and alter only the schedule parameters 140, 150 that the user desires to modify. This feature can be utilized in all illustrative embodiments described herein, however it is not required.

FIG. 2 is a block diagram of the illustrative HVAC controller with an illustrative interview function similar to that shown in FIG. 1. Controller 200 includes a control module 210 that can be a microprocessor or the like. The control module 210 communicates with a user interface 220, and can include an interview question generator 225, a response acceptor 240 and a programmable schedule 250. The control module 210 can also generate a control signal 260 to a device (not shown), such as an HVAC system or device.

In an illustrative embodiment, the interview question generator 225 provides interview questions, such as those described above, to the user interface 220. The user interface 220 can be any form of user interface such as, for example, a physical interface including a touchscreen, an LCD with buttons, and/or an aural interface including a speaker and microphone, or any other suitable user interface. A user can activate the interview question generator 225 by any suitable mechanism, such as by pressing a schedule button on a touchscreen of the user interface 220. Alternatively, or in addition, the controller 210 may activate the interview question generator 225 on its own, such as when it believes additional scheduling information is needed or might otherwise be desired. In response to questions posed by the interview question generator 225, the user can enter one or more user responses into the user interface 220. The response acceptor 240 accepts the user responses and provides the response to the programmable schedule 250. In some embodiments, the programmable schedule 250 has a number of time and temperature set points that can be entered or modified by the response acceptor 240. Once the schedule is built and/or modified, a control signal 260 is generated by the control module 210 based on the programmable schedule 250.

FIG. 3 is a flow diagram of another illustrative HVAC interview program 300. The flow diagram starts at a normal thermostat operation block 310. Normal thermostat operation block 310 can be an initial parameter setting operation or a modification of parameter settings. Interview scheduling block 325 provides one or more interview questions to a user via a user interface. The user interface then accepts one or more responses to the one or more interview questions from the user via the user interface. A user response translator 360 translates the one or more user responses to form a translated response. One or more schedule parameters 370 are then modified based on the translated responses from the response translator 360. Once the schedule parameters 370 are modified, the controller can return to the normal operation block 310.

In some embodiments, the interview scheduling block 325 includes interview questions that require an affirmative (e.g, “yes”) or negative (e.g., “no”) user response. In addition, the interview questions can solicit information from the user regarding the grouping of the controller set points entered or the temporal relationship of the controller set points. For example, the interview question may ask “Do you want the schedule to apply to every day of the week?”, requiring the user to respond with a “YES” or “NO” answer. The interview scheduling block 325 can include questions that are natural language questions such as, for example, phrases that can have one, two, three, four, five, six, or seven or more words.

In an illustrative embodiment, interview scheduling block 325 may also provide interview questions that require a numerical user response. These interview questions can solicit information from the user regarding the specific time and temperature set points for each grouping of controller set points solicited by the interview block 325 described above. The interview block 325 can provide a question such as, for example, “What is a comfortable sleeping temperature in the winter?”, requiring the user to respond with a numerical temperature answer. The interview scheduling block 325 can include questions that are natural language questions such as, for example, phrases that can have one, two, three, four, five, six, or seven or more words.

In the illustrative embodiment, the interview scheduling block 325 can also provide one or more interview questions related to, for example, which weekdays will have the same schedule?, when a first person wakes up?, when a last person goes to sleep?, when a last person leaves during the day?, when a first person arrives home?, what a comfortable temperature is when heat is on?, what a comfortable temperature is when air conditioning is on?, what a comfortable sleeping temperature is in the summer?, or what a comfortable sleeping temperature is in the winter?

The response translator 360 can translate the user responses to create appropriate schedule parameters 370 that help define the schedule of the controller. That is, the response translator 360 applies the user responses to one or more interview questions to establish the controller schedule. For example, the response translator 360 can take an affirmative user response to the interview question, “Do you want the same schedule for Saturday and Sunday?” and correlate with the interview question, “What temperature do you like when the heat is on?” to establish the schedule parameters for the heating temperature during at least selected periods on Saturday and Sunday.

Alternatively, or in addition, the interview scheduling block 325 may provide one or more interview questions that provide a plurality of predetermined answers or responses (e.g., multiple choice format) where the user selects an answer or response. For example, the interview question may provide a question such as, “What type of schedule do you desire?” In this illustrative embodiment, a series of predetermined responses or answers can be provided such as, “Every day of the week is the same,” “Weekdays are the same and Saturday/Sunday is the same,” “Weekday are the same and Saturday/Sunday is different,” “Each Weekday is different and Saturday/Sunday is the same,” and “Each day of the week is different.”

FIG. 4A is a block diagram of the illustrative HVAC controller with an illustrative interview function similar to that shown in FIG. 3. Controller 400 includes a control module 410 that can be a microprocessor or the like. The control module 410 communicates with a user interface 420, and may include an interview question generator 425, a response acceptor 440, a response translator 460, and a programmable schedule 470. The control module 410 can also generate a control signal 465 to a device (not shown), such as an HVAC system or device.

In the illustrative embodiment, the interview question generator 435 provides interview questions, such as those described above, to the user interface 420. The user interface 420 can be any form of user interface such as, for example, a physical interface including a touchscreen, an LCD with buttons, and/or an aural interface including a speaker and microphone, or any other suitable user interface. A user can activate the interview question generator 435 by any suitable mechanism, such as by pressing a mechanical schedule button on the controller, touching an appropriate region of a touchscreen, voice activation, etc. Alternatively, or in addition, the controller 410 may activate the interview question generator 425 on its own, such as when it believes additional scheduling information is needed or might otherwise be desired. In response to questions posed by the interview question generator 425, the user can enter one or more user responses into the user interface 420. The response acceptor 440 accepts the user responses and provides the response to the response translator 460. The response translator 460 provides a translated response to a programmable schedule 470. In some embodiments, the programmable schedule 470 has a number of time and temperature set points that can be entered or modified by the response translator 470. Once the schedule is built and/or modified a control signal 465 is generated by the control module 410 based on the programmable schedule 470.

FIG. 4B is an illustrative partial block diagram of the block diagram shown in FIG. 4A showing one embodiment of the interaction of the interview question generator 425, response acceptor 440, response translator 460 and programmable schedule 470. The illustrative programmable schedule 470 has a plurality of cells such as, for example, a Saturday wake cell 471, a Sunday wake cell 472, a Saturday sleep cell 473, and a Sunday sleep cell 474. In this embodiment, each cell 471, 472, 473, 474 may include a number of schedule parameters such as, for example, a start time, a heat temperature and a cool temperature.

Interview questions 425 are posed to the user. As shown in the illustrative example: an interview question 425 of “Same schedule for Saturday and Sunday?” elicits an user response 440 of “YES”; an interview question 425 of “For the weekend, is someone home all day?” elicits an user response 440 of “YES”; an interview question 425 of “What time does the first person wake up?” elicits an user response 440 of “7:00 a.m.”; an interview question 425 of “What time does the last person go to sleep?” elicits an user response 440 of “10:00 p.m.”; an interview question 425 of “What temperature is comfortable when the heat is on?” elicits an user response 440 of “72° F.”; an interview question 425 of “What temperature is comfortable when the air conditioning is on?” elicits an user response 440 of “68° F.”; an interview question 425 of “What is a comfortable sleeping temperature in summer?” elicits an user response 440 of “67° F.”; and an interview question 425 of “What is a comfortable sleeping temperature in winter?” elicits an user response 440 of “65° F.”.

In the illustrative embodiment, the response translator 460 accepts the user responses provided in block 440. The response translator 460 then builds and/or modifies the programmable schedule 470. In the illustrative embodiment, each cell 471, 472, 473, 474 includes a start time, a heat temperature and a cool temperature. The Saturday wake cell 471 and the Sunday wake cell 472 has a start time of 7:00 a.m., a heat temperature of 72° F., and a cool temperature of 68° F., all of the times and temperatures are provided by the response translator. The Saturday sleep cell 473 and the Sunday sleep cell 474 has a start time of 10:00 p.m., a heat temperature of 65° F., and a cool temperature of 67° F., all of the times and temperatures are provided by the response translator.

In this illustrative embodiment, the response translator 460 takes a plurality of user responses 440 to the interview questions 425 and builds and/or modifies a plurality of schedule parameters. The Saturday and Sunday Leave and Return cells 475, 476, 477, and 478 are ignored and/or zeroed out by the response translator 460 since they are not required based on the user responses 425 for this example.

FIG. 5 is a flow diagram of another illustrative HVAC interview program 500. The flow diagram starts at a normal thermostat operation block 510. Normal thermostat operation block 510 can be an initial parameter setting operation or a modification of parameter settings. Interview scheduling block 525 provides one or more interview questions to a user via a user interface. The user interface then accepts one or more responses to the one or more interview questions from the user via the user interface. A sufficient information block 560 determines if enough information has been solicited from the user response to the interview questions sufficient to build or modify the schedule at block 570. If not, the interview scheduling block 525 provides another interview question to the user via the user interface. If the sufficient information block 560 determines that enough information has been solicited, then the schedule is built or modified by the modify schedule block 570. Once the schedule is built or modified by the modify schedule block 570, the controller can return to the normal operation block 510.

The sufficient information block 560 can, for example, help ensure that a sufficient number of schedule parameters are defined, such as, for example, a start time, a heating temperature and a cooling temperature for a particular time period such as, for example, a specific day or group of days wake period, leave period, return period and/or sleep period, as shown in FIG. 4B.

In some embodiments, the interview scheduling block 525 provides a number of predetermined interview questions in a predetermined sequential order. The number of questions or queries may be adapted to collect information from the user responses to generate at least a portion of the schedule parameters.

Like above, the interview scheduling block 525 can include interview questions that require an affirmative (e.g., “yes”) or negative (e.g., “no”) user response. For example, interview scheduling block 525 can provide interview questions solicit information from the user regarding the grouping of the controller set points entered or the temporal relationship of the controller set points such as, for example, “Do you want the schedule to apply to every day of the week?”, requiring the user to respond with a “YES” or “NO” answer. The interview scheduling block 525 can include questions that are natural language questions which can be phrases that have one, two, three, four, five, six, or seven or more words in length.

Alternatively or in addition, interview scheduling block 525 can provide interview questions that require a numerical user response. For example, these interview questions can solicit information from the user regarding the specific time and temperature set points for each grouping of controller set points solicited by the interview block 525 described above. The interview block 525 can provide a question such as, for example, “What is a comfortable sleeping temperature in the winter?”, requiring the user to respond with a numerical temperature answer. Again, the interview scheduling block 525 can include questions that are natural language questions that can be phrases which can be one, two, three, four, five, six, seven or more words, although this is not required in all embodiments.

The interview scheduling block 525 may also provide one or more interview questions about, which weekdays will have a same schedule?, when a first person wakes up?, when a last person goes to sleep?, when a last person leaves during the day?, when a first person arrives home?, what a comfortable temperature is when heat is on?, what a comfortable temperature is when air conditioning is on?, what a comfortable sleeping temperature is in the summer?, or what a comfortable sleeping temperature is in the winter?

Alternatively, or in addition, the interview scheduling block 525 may provide one or more interview questions that provide a plurality of predetermined answers or responses (e.g., multiple choice format) where the user selects an answer or response. For example, the interview question may provide a question such as, “What type of schedule do you desire?” In this illustrative embodiment, a series of predetermined responses or answers can be provided such as, “Every day of the week is the same,” “Weekdays are the same and Saturday/Sunday is the same,” “Weekday are the same and Saturday/Sunday is different,” “Each Weekday is different and Saturday/Sunday is the same,” and “Each day of the week is different.”

FIG. 6 is a block diagram of the illustrative HVAC controller with an illustrative interview function similar to that shown in FIG. 5. Controller 600 includes a control module 610 that can be a microprocessor or the like. The control module 610 communicates with a user interface 620, and may include an interview question generator 625, a response acceptor 640 and a programmable schedule 650. The control module 610 can also generate a control signal 660 to a device (not shown), such as an HVAC system or device.

In the illustrative embodiment, the interview question generator 625 provides interview questions, such as those described above, to the user interface 620. The user interface 620 can be any form of user interface such as, for example, a physical interface including a touchscreen, an LCD with buttons, an aural interface including a speaker and microphone, or any other suitable user interface. A user can activate the interview question generator 625 by any suitable mechanism, such as by pressing a schedule button on a touchscreen of the user interface 620. Alternatively, or in addition, the controller 610 may activate the interview question generator 625 on its own, such as when it believes additional scheduling information is needed or might otherwise be desired. In response to the questions posed by the interview question generator 625, the user can enter one or more user responses into the user interface 620. The response acceptor 640 accepts the user responses and provides the responses to the programmable schedule 650 if it determines that sufficient information has been provided by the user responses to establish a program schedule. If not, the response acceptor 640 instructs the interview question generator 625 to provide another interview question to the user via the user interface 620. Once the response acceptor 640 determines that sufficient information has been provided by the user to establish a program schedule 650 the program schedule 650 is built and/or modified. In some embodiments, the programmable schedule 650 has a number of time and temperature set points that can be entered or modified by the response acceptor 640. Once the programmable schedule 650 is built and/or modified, a control signal 660 is generated by the control module 610 based on the programmable schedule 650.

FIGS. 7A-C are flow diagrams of another illustrative HVAC interview program 700. The flow diagram starts at a normal thermostat operation block 710, but this is not required in all embodiments. In the illustrative embodiment, the interview program 700 can be initiated by pressing a program initiation button or key such as, for example, an “EZ Schedule” button.

The program can begin by asking whether the user wants the same schedule to be used for every day of the week, as shown at block 720. If the user responds with a “YES” response, then the program can move to ask context questions for that group of days, as shown at block 725, which may set the schedule for the week assuming the same schedule for every 24 hour period or day. If the user responds with a “NO” response, the program may ask the user if the same schedule applies to both weekend days, Saturday and Sunday, as shown at block 730. If the user responds with a “YES” response, then the program can ask if the user wants two schedules, one for weekdays and one for weekends, as shown at block 735. A “YES response to block 735 can move the program to asking context questions for a weekend group of days and a weekdays group of days, as shown at block 725, to set the schedule for the week assuming a first schedule for weekend days and a second schedule for weekdays. A “NO” response to block 730 can cause the program to ask whether the user wants three schedules including a weekday schedule, a Saturday schedule, and a Sunday schedule, as shown at block 740. A “YES” response to block 740 moves the program to asking context questions for a week day group of days schedule, a Saturday schedule and a Sunday schedule, as shown at block 725, to set the schedule for the week assuming a first schedule for weekdays, and a second schedule for Saturday and a third schedule for Sundays. A “NO” response to either block 740 or block 735 moves the program to asking the user to group each day of the seven days of the week into similar schedule groupings until all days are assigned to one group, as shown at block 750. The program can ask if all days are assigned at block 755, with a “NO” response returning the user to block 750 to assign a non-assigned day or days until all days have been assigned. Once all days have been assigned to a group, the program moves to asking context questions for each group of days schedule, as shown at block 725, to set the schedule for the each grouping of days assuming a first schedule for a first group, a second schedule for a second group, a third schedule for a third group and so on until all groupings of days are scheduled.

The program 700 can ask a variety of context sensitive question to determine the desired schedule for each grouping of days identified by the program 700 above. For example, and as shown in FIG. 7B, the program 700 can inquire whether someone is home all day, as shown at block 760. If the user enters a “YES” response to block 760, the program can ask when the first person gets and request that the user to enter a wake time, as shown at block 770. Then the program 700 can ask when the last person goes to sleep and request that the user to enter a sleep time, as shown at block 780. If the user enters a “NO” response to block 760, the program can ask when the first person gets up, and request that the user to enter a wake time, as shown at block 761. Then the program can ask what time the first person leaves home and request that the user enter a leave time, as shown at block 762. The program can also ask when the last person gets home for the day, and request the user to enter a return time, as shown at block 763. The program can also ask when the last person goes to sleep, and request that the user enter a sleep time, as shown at block 764. Once all the above information has been entered by the user for each grouping of days, the program may move to an end block 781.

The program 700 can then request information from the user regarding comfortable awake, sleeping and away temperatures. For example, and referring to FIG. 7C, the program can request that the user enter a comfortable temperature when the heat is on, as shown at block 790. The temperature information received in block 790 can be automatically inserted into a program schedule for each grouping of days to set the wake heat and return heat set points. The program can also request that the user enter a comfortable temperature when the air conditioning is on, as shown at block 791. This information can be automatically inserted into a program schedule for each grouping of days to set the wake cool and return cool set points. This illustrative program can also request that the user enter a comfortable summer sleeping temperature, as shown at block 792. This information can be automatically inserted into a program schedule for each grouping of days to set the sleep cool set point. The program can also request that the user enter a comfortable winter sleeping temperature, as shown at block 793. This information can be automatically inserted into a program schedule for each grouping of days to set the sleep heat set point. The program can also request that the user to enter an energy savings offset at block 794. This information can be automatically inserted into a program schedule for each grouping of days to set the leave cool and leave heat set points.

In some embodiments, the program 700 can allow the user to request a schedule review at block 795, which can allow the user to review the built or modified schedule, as shown at block 796. If the user does not wish to review the schedule or when the user is done reviewing the schedule, the program returns to normal thermostat operation block 710 operation under the newly built or modified schedule.

FIGS. 8A-T are schematic drawings of an illustrative HVAC interface 800 showing an illustrative embodiment of the flow diagram of the HVAC interview program shown in FIGS. 7A-7C. The schematic screen shots are taken in sequential order based on the user selections shown in each screen shot. At FIG. 8A, a user 810 selects an “EZ Schedule” 801 button located on the interface 800 to begin the interview scheduling program.

At FIG. 8B, the program asks the user 810, via the interface 800, if the user 810 wants the same schedule to apply to every day of the week. The user 810 is shown selecting a “NO” response 802.

At FIG. 8C, the program asks the user 810, via the interface 800, if the user 810 wants Saturday and Sunday to follow the same schedule. The user 810 is shown selecting a “YES” response 803.

At FIG. 8D, the program asks the user 810, via the interface 800, to verify the there will be two schedules, one for weekends and a second for weekdays. The user 810 is shown selecting a “YES” response 804.

At FIG. 8E, the program asks the user 810, via the interface 800, whether someone will be home all day on weekdays. The user 810 is shown selecting a “NO” response 805.

At FIG. 8F, the program asks the user 810, via the interface 800, to enter what time the first person wakes up on weekdays. The user 810 is shown pressing an “ENTER” button 806 after selecting a wake time.

At FIG. 8G, the program asks the user 810, via the interface 800, to enter what time the last person leaves the house on weekdays. The user 810 is shown pressing an “ENTER” button 807 after selecting a leave time.

At FIG. 8H, the program asks the user 810, via the interface 800, to enter what time the first person arrives home on weekdays. The user 810 is shown pressing an “ENTER” button 808 after selecting a return time.

At FIG. 81, the program asks the user 810, via the interface 800, to enter what time the last person goes to sleep on weekdays. The user 810 is shown pressing an “ENTER” button 809 after selecting a sleep time.

At FIG. 8J, the program asks the user 810, via the interface 800, whether someone will be home all day on weekends. The user 810 is shown selecting a “YES” response 811.

At FIG. 8K, the program asks the user 810, via the interface 800, to enter what time the first person wakes up on weekends. The user 810 is shown pressing an “ENTER” button 812 after selecting a wake time.

At FIG. 8L, the program asks the user 810, via the interface 800, to enter what time the last person goes to sleep on weekends. The user 810 is shown pressing an “ENTER” button 813 after selecting a sleep time.

At FIG. 8M, the program asks the user 810, via the interface 800, a comfort question such as, what temperature do you like when the heat is on? The user 810 is shown pressing an “ENTER” button 814 after selecting a desired temperature.

At FIG. 8N, the program asks the user 810, via the interface 800, a comfort question such as, what temperature do you like when the air conditioning is on? The user 810 is shown pressing an “ENTER” button 815 after selecting a desired temperature.

At FIG. 8O, the program asks the user 810, via the interface 800, a comfort question such as, what is a comfortable sleeping temperature in the summer? The user 810 is shown pressing an “ENTER” button 816 after selecting a desired temperature.

At FIG. 8P, the program asks the user 810, via the interface 800, another comfort question such as, what is a comfortable sleeping temperature in the winter? The user 810 is shown pressing an “ENTER” button 817 after selecting a desired temperature.

At FIG. 8Q, the program asks the user 810, via the interface 800, another comfort question such as, what energy saving offset is desired? The user 810 is shown pressing an “ENTER” button 818 after selecting a desired energy saving offset.

At FIG. 8R, the program informs the user 810, via the interface 800, that the schedule has been completed, and may allow the user to view a portion of the schedule or selected day groupings. The user 810 is shown pressing a “VIEW WEEKDAYS” button 819.

At FIG. 8S, the program informs the user 810, via the interface 800, specifics of the selected schedule. The user 810 is shown pressing a “DONE” button 821.

At FIG. 8T, the program displays, via the interface 800, specifics of the currently running schedule.

The present invention should not be considered limited to the particular examples described above, but rather should be understood to cover all aspects of the invention as fairly set out in the attached claims. Various modifications, equivalent processes, as well as numerous structures to which the present invention can be applicable will be readily apparent to those of skill in the art to which the present invention is directed upon review of the instant specification. 

1. A method of programming a schedule of a controller having a user interface, the schedule having a number of schedule parameters, the method comprising the steps of: providing one or more interview questions to a user via the user interface; accepting one or more user responses to the one or more interview questions from the user via the user interface; and creating and/or modifying one or more of the schedule parameters based on the user responses provided by the user interface.
 2. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that elicit an affirmative or negative user response.
 3. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that elicit a “YES” or a “NO” user response.
 4. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that are natural language questions.
 5. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that are phrases.
 6. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that are phrases having three or more words.
 7. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that are audible.
 8. The method according to claim 1, wherein the accepting step comprises accepting one or more user aural responses.
 9. The method according to claim 1, wherein the modifying step comprises modifying one or more HVAC schedule parameters.
 10. The method according to claim 1, wherein the modifying step comprises modifying one or more lawn sprinkler schedule parameters.
 11. The method according to claim 1, wherein the modifying step comprises modifying one or more security system schedule parameters.
 12. The method according to claim 1, wherein the modifying step comprises modifying one or more lighting schedule parameters.
 13. The method according to claim 1, wherein the providing step comprises providing one or more interview questions related to, which weekdays have a same schedule, when a first person wakes up, when a last person goes to sleep, when a last person leaves during the day, when a first person arrives home, what a comfortable temperature is when heat is on, what a comfortable temperature is when air conditioning is on, what a comfortable sleeping temperature is in summer, or what a comfortable sleeping temperature is in winter.
 14. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that provide a plurality of predetermined responses for selection by the user.
 15. The method according to claim 1, wherein the providing step comprises providing one or more interview questions that further display a previous answer that was accepted by the user interface.
 16. A controller comprising: a programmable schedule, the schedule having a number of schedule parameters; and a user interface, adapted and configured to provide one or more interview questions to a user, and to accept one or more user responses to the one or more interview questions from the user; wherein, the one or more schedule parameters are modified based on the user responses provided by the user interface.
 17. The controller according to claim 16, wherein the user interface comprises a touchscreen.
 18. The controller according to claim 16, wherein the user interface provides one or more interview questions that elicit a “YES” or a “NO” user response.
 19. The controller according to claim 16, wherein the user interface provides one or more interview questions that are phrases having two or more words.
 20. The controller according to claim 16, wherein the one or more schedule parameters are HVAC schedule parameters.
 21. The controller according to claim 16, wherein the one or more schedule parameters are security system schedule parameters.
 22. The controller according to claim 16, wherein the user interface provides one or more interview questions that provide a plurality of predetermined responses for selection by the user.
 23. A controller comprising: schedule means for providing a programmable schedule, the programmable schedule having a number of schedule parameters; and user interface means adapted and configured to provide one or more interview questions to a user, and to accept one or more user responses to the one or more interview questions from the user; wherein, the controller modifies one or more of the schedule parameters based on the user responses provided by the user interface.
 24. A method of programming a schedule of a controller having a user interface, the schedule having a number of schedule parameters, the method comprising the steps of: providing one or more interview questions to a user via the user interface; accepting one or more user responses to the one or more interview questions from the user via the user interface; translating the one or more user responses to form a translated response; and modifying one or more of the schedule parameters based on the translated response.
 25. The method according to claim 24, wherein the providing step comprises providing one or more interview questions that elicit a “YES” or a “NO” user response.
 26. The method according to claim 24, wherein the providing step comprises providing one or more interview questions that are natural language questions.
 27. The method according to claim 24, wherein the providing step comprises providing one or more interview questions that are phrases having three or more words.
 28. The method according to claim 24, wherein the modifying step comprises modifying one or more HVAC schedule parameters.
 29. The method according to claim 24, wherein the modifying step comprises modifying one or more lawn sprinkler schedule parameters.
 30. The method according to claim 24, wherein the providing step comprises providing one or more interview questions that provide a plurality of predetermined responses for selection by the user.
 31. A controller comprising: a programmable schedule, the schedule having a number of schedule parameters; a user interface, adapted and configured to provide one or more interview questions to a user, and to accept one or more user responses to the one or more interview questions from the user; and a translator, adapted and configured to translate the one or more user responses to form a translated response; wherein, the number of schedule parameters are modified based on the translated response.
 32. The controller according to claim 31, wherein the user interface provides one or more interview questions that elicit a “YES” or a “NO” user response.
 33. The controller according to claim 31, wherein the user interface provides one or more interview questions that are phrases having two or more words.
 34. The controller according to claim 31, wherein the one or more schedule parameters are HVAC schedule parameters.
 35. The controller according to claim 31, wherein the one or more schedule parameters are security system schedule parameters.
 36. The controller according to claim 31, wherein the user interface provides one or more interview questions that provide a plurality of predetermined responses for selection by the user.
 37. A method of programming a schedule of a controller having a user interface, the schedule having a number of schedule parameters, the method comprising the steps of: sequentially providing a number of predetermined queries via the user interface; and accepting user responses to at least selected queries, the queries adapted to collect sufficient information from the user responses to generate at least a major portion of the schedule parameters.
 38. The method according to claim 37, wherein the sequentially providing step comprises sequentially providing a number of predetermined queries that elicit a “YES” or a “NO” user response.
 39. The method according to claim 37, sequentially providing step comprises sequentially providing a number of predetermined queries that are context sensitive to the user response.
 40. The method according to claim 37, wherein the accepting step comprises determining the number of queries based on the user responses to the context sensitive queries.
 41. The method according to claim 37, further comprising the step of generating HVAC schedule parameters using the user responses accepted during the accepting step.
 42. The method according to claim 37, wherein the modifying step comprises generating lawn sprinkler schedule parameters.
 43. The method according to claim 37, wherein the sequentially providing a number of predetermined queries step includes sequentially providing a number of queries related to, which weekdays will have a same schedule, when a first person wakes up, when a last person goes to sleep, when a last person leaves during the day, when a first person arrives home, what a comfortable temperature is when heat is on, what a comfortable temperature is when air conditioning is on, what a comfortable sleeping temperature is in summer, or what a comfortable sleeping temperature is in winter
 44. The method according to claim 37, wherein the sequentially providing step comprises sequentially providing one or more queries that provide a plurality of predetermined responses for selection by the user. 